package _2digui;

import java.util.Scanner;

/**
 * 题目描述：
 * 一次可以上一阶，二阶，三阶，给定台阶数，请问有多少种上楼梯的方法
 */
public class 上楼梯 {
    public static void main(String[] args) {
        //写一个递归
        int m=0;
        Scanner sc=new Scanner(System.in);
            System.out.println("输入台阶数：");
            m=sc.nextInt();
            int n=stage(m);
            System.out.println("有"+n+"种方式");

    }

    private static int stage(int m) {
        if(m==0||m==1){
            return 1;
        }
        if(m==2){
            return m;
        }
        //要计算到达第m阶有多少种方法，只需要将到达该梯下的一梯，二梯，三梯有多少种方式加起来即可
        return stage(m-1)+stage(m-2)+stage(m-3);
    }
}
